Personal video recorders (PVRs), also known as digital video recorders (DVRs), such as TiVO and ReplayTV devices, are popular nowadays for their enhanced capabilities to record television programming. They may offer such functions as “one-touch programming” for automatically recording every episode of a show for an entire season, “commercial advance” for automatically skipping through commercials while watching a recorded broadcast, an “on-screen guide” for looking up recorded programs to view, etc. The PVRs may also suggest programs for recording based on a user's viewing habit. These devices also enable the “pausing”, “rewinding” and “fast-forwarding” of a live television (“TV”) broadcast while it is being recorded. However, PVRs typically use electronic program guides (EPGs) to facilitate the selection of programming content for recording. In instances where the actual broadcast start or end time of a program is different than the EPG start or end time, programming content is often recorded that the user did not want, or all of the programming content that the user intended to record is not actually recorded. The program guide data stream is typically provided by a third party that aggregates program scheduling information from a plurality of sources of programming.
The actual start and end times for a given broadcast program may be different than the EPG start and end times for various reasons. For example, overtime in a sports event may cause the event to go beyond the scheduled end time. Presidential news conferences, special news bulletins and awards ceremonies often have indeterminate endings, as well. Technical difficulties causing the content provider to broadcast a program at a time other than that which is scheduled may also cause a variance in the start and/or end time of a program. In addition, when the time of one program provided on a specific channel is off schedule, subsequent programs provided by the channel may also be unexpectedly affected, interfering with the ability to record the subsequent program. To avoid offsetting the start and end times of subsequent programs, scheduled programming content may be manipulated (for example, a certain program or commercial segment may be skipped and therefore not broadcast), which may prevent programming of the skipped program. This makes recording programs for later viewing difficult.
Video on demand (“VOD”), movie on demand (“MOD”) and network digital video recorder (“DVR”) services, which may be subscription services, address at least some of these disadvantages by storing broadcasted video, movies and television programs (referred to collectively as “content”) for later retrieval by customers. Content may be acquired and stored in real time, from multiple origination points. Typically, entire transport signal streams for each broadcast channel are stored each day. When a customer requests a particular piece of content that has already been broadcast and stored, the system may fetch the requested content from storage based on the program times in an EPG and transmit the program to the customer. An example of a network DVR system is described in co-pending application Ser. No. 10/263,015, filed on Oct. 2, 2002 (U.S. Patent Publication No. 2003/0208767A1), which is incorporated by reference herein.
With the advent of digital communications technology, many TV broadcast streams are transmitted in digital formats. For example, Digital Satellite System (DSS), Digital Broadcast Services (DBS), and Advanced Television Standards Committee (ATSC) broadcast streams are digitally formatted pursuant to the well known Moving Pictures Experts Group 2 (MPEG-2) standard. The MPEG-2 standard specifies, among others, the methodologies for video and audio data compressions that allow multiple pieces of content, with different video and audio feeds, to be multiplexed in a transport stream traversing a single broadcast channel. A digital TV receiver may be used to decode an MPEG-2 encoded transport stream and extract the desired program therefrom. Audio may also be formatted in Dolby AC-3 format, developed by Dolby Laboratories, San Francisco, Calif., and described in Digital Audio Compression Standard (AC-3), by the United States Advanced Television Systems Committee (“ATSC”) (Dec. 20, 1995), for example. Prior art PVRs take advantage of compression of video and audio data to maximize use of their limited storage capacity, minimizing the cost of the PVR.
In accordance with the MPEG-2 standard, for example, video data is compressed based on a sequence of groups of pictures (“GOPs”), in which each GOP typically begins with an intra-coded picture frame (also known as an “I-frame”), which is obtained by spatially compressing a complete picture using discrete cosine transform (DCT). As a result, if an error or a channel switch occurs, it is possible to resume correct decoding at the next I-frame.
The GOP may represent up to 15 additional frames by providing a much smaller block of digital data that indicates how small portions of the I-frame, referred to as macroblocks, move over time. Thus, MPEG-2 achieves its compression by assuming that only small portions of an image change over time, making the representation of these additional frames extremely compact. Although GOPs have no relationship between themselves, the frames within a GOP have a specific relationship which builds off the initial I-frame.
The compressed video and audio data are carried by respective continuous elementary streams. The video and audio streams are multiplexed. Each stream is broken into packets, resulting in packetized elementary streams (PESs). These packets are identified by headers that contain time stamps for synchronization, and are used to form MPEG-2 transport streams. For digital broadcasting, multiple pieces of content and their associated PESs are multiplexed into a single transport stream. A transport stream has PES packets further subdivided into short fixed-size data packets, in which multiple programs encoded with different clocks can be carried. A transport stream not only comprises a multiplex of audio and video PESs, but also other data such as metadata and MPEG-2 program specific information (“PSI”) describing the transport stream. The MPEG-2 PSI includes a program or content associated table (“PAT”) that lists every piece of content in the transport stream. Each entry in the PAT points to a program map table (PMT) that lists the elementary streams making up each program. Some programs are open, but some programs may be subject to conditional access (encryption) and this information is also carried in the MPEG-2 PSI.
The aforementioned fixed-size data packets in a transport stream each carry a packet identifier (“PID”) code. Packets in the same elementary streams all have the same PID, so that a decoder can select the elementary stream(s) it needs and reject the remainder. Packet-continuity counts are implemented to ensure that every packet that is needed to decode a stream is received.
An individual pieces of content may be referred to as an asset. An asset may include an aggregation of video, audio and metadata describing the content. An asset may be a container or object, or set of objects to implement a service. Assets may contain the content or a reference to the content, which may be stored as another asset.
Sources of content for VOD, MOD and network DVR services grant rights to respective distributors, such as cable systems, to provide the content to a user of the system, typically for a predetermined period of time. These rights may include operational rights and operational time windows. For example, when a cable company contracts with a source of programming, the cable company may only acquire limited rights to the use of a particular program. Certain pieces of content may only be broadcast once while others may be stored and retrieved for additional transmission. The right to store and retrieve may be unlimited or may have an expiration date. The rights related to a particular piece of content or portion of content may dictate how the content is processed by the cable system (such as whether it is stored for later retrieval or not). Other granted rights may relate to advertising deletion or replacement in transmitted content, for example. The source may also grant rights to allow a user to manipulate content during viewing, such as fast forwarding, reversing, pausing, etc., under the control of a user.
Despite compression, stored content requires a large amount of memory. Systems storing large amounts of content for later transmission must therefore provide a large amount of memory space to store the content, increasing the cost of the system.